package com.jiang.专题.数组.Q27;

/**
 * @author Jiang
 * @version 1.0
 * @date 2024/12/12 13:07
 */
class Solution {
    public int removeElement(int[] nums, int val) {
        int len = nums.length, res = 0;
        // j 表示要修改值的元素下标
        for (int i = 0, j = -1; i < len; i++) {
            if (nums[i] != val) {
                res++;
                if (j != -1) {
                    nums[j] = nums[i];
                    j++;
                }
            } else if (j == -1) {
                // 出现了与val一样的元素，且j没有初始化
                j = i;
            }
        }
        return res;
    }
}
